package io;

import java.io.Serializable;

/**
 *
 * @author Mariano Zapata
 */
public class ItemAgenda implements Serializable {
    
    private long id;
    private String fecha;
    private String hora;
    private String texto;
    private boolean esImportante;
    
    public ItemAgenda(long id)
    {
        this.id= id;
        fecha= "";
        hora= "";
        texto= "";
        esImportante= false;
    }

    public String getFecha() {
        return fecha;
    }

    public String getHora() {
        return hora;
    }

    public long getId() {
        return id;
    }

    public String getTexto() {
        return texto;
    }

    public boolean getEsImportante() {
        return esImportante;
    }

    public void setFecha(String fecha) {
        this.fecha = fecha;
    }

    public void setHora(String hora) {
        this.hora = hora;
    }

    public void setTexto(String texto) {
        this.texto = texto;
    }

    public void setEsImportante(boolean esImportante) {
        this.esImportante= esImportante;
    }

    private String substringHastaSaltoDeLinea(String s)
    {
        int indice= s.indexOf("\n");
        if (indice == -1)
            return s;
        else
            return s.substring(0, indice);
    }

    private String substringLimitado(String s, int limite)
    {
        if (s.length() > limite)
            return s.substring(0, limite);
        else
            return s;
    }

    private String agregarTresPuntos(String s)
    {
        if (texto.length() != s.length())
            return s + "...";
        else
            return s;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final ItemAgenda other = (ItemAgenda) obj;
        if (this.id != other.id) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 53 * hash + (int) (this.id ^ (this.id >>> 32));
        return hash;
    }
    
    @Override
    public String toString() {
        String temp1= this.substringLimitado(texto, 40);
        String temp2= this.substringHastaSaltoDeLinea(temp1);
        String temp3= this.agregarTresPuntos(temp2);
        return hora + " - " + temp3;
    }

    public String toStringWidget()
    {
        String temp1= this.substringLimitado(texto, 160);
        String temp2= this.substringHastaSaltoDeLinea(temp1);
        String temp3= this.agregarTresPuntos(temp2);
        return hora + " - " + temp3;
    }
}
